/*
 * funcionesNIPC.h
 *
 *  Created on: 24/11/2011
 *      Author: utn_so
 */

#ifndef FUNCIONESNIPC_H_
#define FUNCIONESNIPC_H_

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>



#include <errno.h>


#include <sys/un.h>

struct nipc_protocol{
        char type;
        int payloadLength;
        char cifraSector;
        char payload[512];
        int numeroSector;
}typedef nipc_protocol;



void serializeNIPC(char*resultado,char type,int32_t payloadLength,char *payload,int32_t numeroSector,char cifraSector) ;
void deserealizarNIPC(char*resultado,struct nipc_protocol *punteroEstructuraNIPC);
void NIPC_preparar(struct nipc_protocol*punteroNIPC,  char type,int32_t payloadLength,char *payload,int32_t numeroSector);
void NIPC_enviar(int32_t descriptorSocket,char type,int32_t payloadLength,char *payload,int32_t numeroSector);
void NIPC_recibir(int32_t *descriptorSocket, struct nipc_protocol *punteroNIPC);
char sector_darCifra(int32_t numeroSector);
int cifraSector_devolverInt(char cifraEnChar);
#endif /* FUNCIONESNIPC_H_ */
